/**
 * Created by yx on 2017/7/21.
 */
$('.date-picker').datepicker({autoclose: true}).next().on(ace.click_event, function () {
    $(this).prev().focus();
});
$('#startDate').datepicker('update');
$('#endDate').datepicker('update');
var queryParam = {}
// bootstrap 初始化
console.log('groupManage');
$("#group_table").bootstrapTable({
    'url': '/community/forumgroup/selectForumgroup',
    'toolbar': $('div[data-name="btnCtl"]'),
    'queryParams': queryParams,
    'cache':false,
    'sidePagination': 'server',
    'toolbarAlign': 'right',
    'undefinedText': '-',
    'striped': true,
    'pagination': true,
    'sortable': true, //是否启用排序
    'sortOrder': "asc", //排序方式
    'pageSize': globalPageSize,
    'pageList': [],
    'clickToSelect': true,
    'singleSelect': true,
    'smartDisplay': true,
    'ajaxOptions':{
        headers: {"Authorization": localStorage.token}
    },
    'responseHandler': function (resb) {
        return {
            'total': resb.data.total,
            'rows': resb.data.rows
        }
    },
    'onCheck': function() {
        $("button[data-target='#ForumInfoModal'],button[data-target='#commentModal'],button[data-target='#updateModal'], button[data-target='#deleteModal']").removeAttr("disabled");
    },
    'onUncheck': function() {
        $("button[data-target='#ForumInfoModal'],button[data-target='#commentModal'],button[data-target='#updateModal'], button[data-target='#deleteModal']").attr("disabled", 'true');
    },
    'onPageChange': function() {
        if($("#group_table").bootstrapTable('getSelections')[0]){
            $("#group_table").bootstrapTable('uncheckBy', {
                field: 'typeId',
                values: [$("#group_table").bootstrapTable('getSelections')[0].typeId]
            });
        }

    },
    'columns': [{
        'checkbox': true,
        // 'class': 'hide'
    },
        {
            'title': '序号',
            'align': 'center',
            'formatter': function (value, row, index) {
                return index+1;
            }
        },{
            'field': 'forumGroupId',
            'title': '群组ID',
            'align': 'center',
            'class': 'hide'
        },{
            'field': 'leaderUserNickname',
            'title': '创建者',
            'align': 'center'
        },{
            'field': 'groupName',
            'title': '群组名称',
            'align': 'center'
        },{
            'field': 'groupIntroduction',
            'title': '群组介绍',
            'align': 'center'
        },{
            'field': 'privacySetting',
            'title': '类型',
            'align': 'center',
            'formatter': function (privacySetting) {
                var obj = {'10000':'公开','10001':'封闭','10002':'私密'};
                return obj[privacySetting];
            }
        },{
            'field': 'groupType',
            'title': '群创建',
            'align': 'center',
            'formatter': function (groupType) {
                var obj = {'groupTypeForSystem':'系统创建','groupTypeForUser':'用户创建','groupTypeForDelete':'已解散'};
                return obj[groupType];
            }
        },
        // {
        //     'field': 'groupStyle',
        //     'title': '群组类型',
        //     'align': 'center',
        //     'formatter': function (groupStyle) {
        //         var obj = {'groupForFamily':'家人','groupForFriend':'密友','groupForTeam':'团队','groupForStudyGroup':'学习小组','groupForNeighbor':'邻居','groupForClassmate':'同学','groupForOther':'其他'};
        //         return obj[groupStyle];
        //     }
        // },
        {
            'field': 'memberCount',
            'title': '成员数',
            'align': 'center'
        } ,{
            'field': 'countPeopleToBeAudited',
            'title': '成员待审核',
            'align': 'center',
            'formatter': function (countPeopleToBeAudited) {
                if(countPeopleToBeAudited == null) {
                    countPeopleToBeAudited = 0;
                }
                return countPeopleToBeAudited;
            }
        },{
            'field': 'groupMessageTotal',
            'title': '群帖数',
            'align': 'center'
        },{
            'field': 'nation',
            'title': '国家',
            'align': 'center'
        },{
            'field': 'province',
            'title': '省',
            'align': 'center'
        },{
            'field': 'city',
            'title': '市',
            'align': 'center'
        },{
            'field': 'address',
            'title': '位置',
            'align': 'center'
        },{
            'field': 'createDate',
            'title': '创建日期',
            'align': 'center',
            'sortable': true
        }

    ]
});

/**
 * 定位搜索
 */
function codeAddress() {
    $('#mapWindow')[0].contentWindow.codeAddress()
}


/**
 *根据session存入的不同参数触发不同的事件
 */
$(function () {
    var val = sessionStorage.getItem('case');
    if(val){
        $("#addModal").modal({show:true});
        $("#addModal").on('show.bs.modal', function() {
            $(this).find("input[type=text]").val("");
        });
    };
    sessionStorage.removeItem('case');
});
//请求服务数据时所传参数
function queryParams(params){
    return {
        // 'groupName': $('#search-group-name').val(),
        // 'leaderUserName' : $('#search-leaderUserName').val(),
        // 'groupType' : $('#select-group-type').val(),
        // 'memberCountMin' : $('#memberCountMin').val(),
        // 'memberCountMax' : $('#memberCountMax').val(),
        // 'groupMessageTotalMin' : $('#groupMessageTotalMin').val(),
        // 'groupMessageTotalMax' : $('#groupMessageTotalMax').val(),
        // 'createDateS' : $('#startDate').val(),
        // 'createDateE' : $('#endDate').val(),
        'groupName': queryParam.groupName,
        'leaderUserName' : queryParam.leaderUserName,
        'groupType' : queryParam.groupType,
        'memberCountMin' : queryParam.memberCountMin,
        'memberCountMax' : queryParam.memberCountMax,
        'groupMessageTotalMin' : queryParam.groupMessageTotalMin,
        'groupMessageTotalMax' : queryParam.groupMessageTotalMax,
        'createDateS' : queryParam.createDateS,
        'createDateE' : queryParam.createDateE,
        limit : params.limit, //每一页的数据行数，默认是上面设置的10(pageSize)
        offset : params.offset/params.limit+1 //当前页面,默认是上面设置的1(pageNumber)
    }
}

/**
 * 群组查询ajax
 * @param
 */
function groupQuery() {
    // if($("#search-group-name").val()== '' && $("#search-privacy").val()== '' && $("#startDate").val()== '' && $(".endDate").val()==''){
    //     $('#group_table').bootstrapTable('refreshOptions',{pageNumber:1,pageSize:globalPageSize});
    // }else{
        queryParam = {
            'groupName': $('#search-group-name').val(),
            'leaderUserName' : $('#search-leaderUserName').val(),
            'groupType' : $('#select-group-type').val(),
            'memberCountMin' : $('#memberCountMin').val(),
            'memberCountMax' : $('#memberCountMax').val(),
            'groupMessageTotalMin' : $('#groupMessageTotalMin').val(),
            'groupMessageTotalMax' : $('#groupMessageTotalMax').val(),
            'createDateS' : $('#startDate').val(),
            'createDateE' : $('#endDate').val(),
            'limit' : globalPageSize, //每一页的数据行数，默认是上面设置的10(pageSize)
            'offset' : 1 //当前页面,默认是上面设置的1(pageNumber)
        };
        //判断开始时间是否大于结束时间
        if(Date.parse(new Date($('#startDate').val())) > Date.parse(new Date($('#endDate').val()))) {
            alert('开始时间必须小于结束时间');
            return false;
        };
        //用户只输入一个值时查询
        if($('#startDate').val() != '' || $('#endDate').val() != '') {
            if($('#startDate').val() === '') {
                queryParam.createDateS = queryParam.createDateE + ' 00:00:00';
                queryParam.createDateE = queryParam.createDateE + ' 23:59:59';
            }
            if($('#endDate').val() === '') {
                queryParam.createDateE = queryParam.createDateS + ' 23:59:59'
            }
        };

       //成员数的前一值必须小于后一个值
        if(parseInt($('#memberCountMin').val())>parseInt($('#memberCountMax').val())) {
            alert('成员数的前一值必须小于后一个值');
            return false;
        }
        //当成员数只有一个输入框输入时
        if($('#memberCountMin').val() != '' || $('#memberCountMax').val() != '') {
            if($('#memberCountMin').val() === '') {
                queryParam.memberCountMin = queryParam.memberCountMax;
            }
            if($('#memberCountMax').val() === '') {
                queryParam.memberCountMax = queryParam.memberCountMin
            }
        };

        //群贴数的前一值必须小于后一个值
        if(parseInt($('#groupMessageTotalMin').val())>parseInt($('#groupMessageTotalMax').val())) {
            alert('群贴数的前一值必须小于后一个值');
            return false;
        }
        //当群贴数只有一个输入框输入时
        if($('#groupMessageTotalMin').val() != '' || $('#groupMessageTotalMax').val() != '') {
            if($('#groupMessageTotalMin').val() === '') {
                queryParam.groupMessageTotalMin = queryParam.groupMessageTotalMax;
            }
            if($('#groupMessageTotalMax').val() === '') {
                queryParam.groupMessageTotalMax = queryParam.groupMessageTotalMin
            }
        };
        $.ajaxSetup({cache:false});
        $.ajax({
            type: "GET",
            // url: "/community/forummessage/getFindMsg",
            url: "/community/forumgroup/selectForumgroup?" + objTostring(queryParam),
            dataType: 'json',
            // contentType: "application/json",
            beforeSend: function (request) {
                request.setRequestHeader("Authorization", localStorage.token);
            },
            success: function(resb) {
                console.log(resb);
                if (resb.data.length != 0) {
                    $('#group_table').bootstrapTable('selectPage', 1);
                    $("#group_table").bootstrapTable('load', {
                        'total': resb.data.total,
                        'rows': resb.data.rows
                    });
                } else {
                    $("#group_table").bootstrapTable('removeAll');
                }
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                alert(textStatus);
            }
        });
    // }
    return false;
};

//获取系统用户
// $("#userModal").on('show.bs.modal', function() {
//     getAdminUser();
// });
$('.chooseUser').on('click',function () {
    getAdminUser();
});
//渲染用户数据列表
function getAdminUser(){
    $("#user_table").bootstrapTable('destroy');
    $("#user_table").bootstrapTable({
        // 'url': '../serviceType/findAll',
        'url': '/user/user/findUsers?type=2',
        'toolbar': $('div[data-name="btnCtl"]'),
        // 'queryParams': queryParams,
        'cache':false,
        'sidePagination': 'server',
        'pageSize': 10,
        'toolbarAlign': 'right',
        'undefinedText': '-',
        'striped': true,
        'pagination': true,
        'sortable': true, //是否启用排序
        'sortOrder': "asc", //排序方式
        // 'pageSize': globalPageSize,
        'pageList': [],
        'clickToSelect': true,
        'singleSelect': true,
        'smartDisplay': true,
        'ajaxOptions':{
            headers: {"Authorization":localStorage.token}
        },
        'responseHandler': function (resb) {
            console.log(resb.data.content);
            return {
                'total': resb.data.total,
                'rows': resb.data.content
            }
        },
        'columns': [{
            'checkbox': true,
            'align': 'center',
            'valign': 'middle'
            // 'class': 'hide'
        },
            {
                'title': '序号',
                'valign': 'middle',
                'formatter': function (value, row, index) {
                    return index+1;
                }
            },{
                'field': 'userId',
                'title': 'ID',
                'align': 'center',
                'class': 'hide'
            },
            {
                'field': 'backgroundUrl',
                'title': '用户头像',
                'align': 'center',
                'valign': 'middle',
                'formatter': function (backgroundUrl) {
                    console.log(backgroundUrl)
                    return "<image src="+backgroundUrl+" style='width: 30px;'>";
                }
            },{
                'field': 'name',
                'title': '昵称',
                'valign': 'middle',
                'align': 'center'

            },{
                'field': 'gender',
                'title': '性别',
                'align': 'center',
                'valign': 'middle',
                'formatter': function (gender) {
                    var obj = {'0':'女','1':'男'};
                    return obj[gender];
                }
            },{
                'field': 'bornDate',
                'title': '出生日期',
                'align': 'center',
                'valign': 'middle',
                'formatter': function(value){
                    if(value){
                        var date = value.split(" ");
                        return date[0]
                    }else{
                        return value
                    }
                }

            },{
                'field': 'jobName',
                'title': '行业',
                'valign': 'middle',
                'align': 'center'
            }
        ]
    });
};

//选择用户
$("#addUserConfirm").click(function () {
    $("#userModal").modal('hide');
    var tableData = $("#user_table").bootstrapTable("getSelections")[0];
    console.log(tableData)
    $("#leaderUser").val(tableData.name);
    $("#leaderUserId").val(tableData.userId);
});

//用户查询
$('#SearchUser').click(function () {
    userSearch();
});
function userSearch() {
    $.ajaxSetup({cache:false});
    $.ajax({
        type: "POST",
        url: "../user/admin/findUsers",
        //data: JSON.stringify(queryData),
        data: {
            'name': $('#nickname').val()
        },
        dataType: 'json',
        //contentType: 'application/json',
        success: function (resb) {
            console.log(resb.data);
            if (resb.data.length != 0) {
                $("#user_table").bootstrapTable('load',  {
                    'total': resb.data.total,
                    'rows': resb.data.content,
                } );
            } else {
                $("#user_table").bootstrapTable('removeAll');
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert(textStatus);
        }
    })
}

/**
 * 列表操作(新增，更新，删除)
 * @param action [add/update/remove]
 * @param data
 *               [add/update 数据结构 {name: string, description: string, listAuthorityId: array} ]
 *               [delete 数据结构 {roleId: int}]
 * @param async/scync [default async]
 */
function operationGroup(action, data) {
    var url = null;
    // (async === false) ? async = false: async = true;
    if (action === 'add') {
        url = '/community/forumgroup/saveSystemForumGroup?'+data;
    }
    // else if(action === 'update'){
    //     url = '/friends/commentsTemplate/update?'+objTostring(data);
    // }
    else {
        url = '/community/forumgroup/deleteForumgroup?'+data;
    }
    return $.ajax({
        type: "GET",
        url: url,
        // data: JSON.stringify(data),
        contentType: "application/json",
        dataType: 'json',
        beforeSend: function (request) {
            request.setRequestHeader("Authorization", localStorage.token);
        },
        success: function(resb) {
            alert(resb.message);
            $("#group_table").bootstrapTable("refresh");
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            // console.log(XMLHttpRequest, textStatus, errorThrown);
            alert(textStatus);
        }
    });
}

function objTostring(obj) {
    var arr = [];
    for(var i in obj) {
        arr.push(i+"="+obj[i]);
    }
    return arr.join('&');
}

$(document).on('click','.spanIcons',function(){
    $('#inputStation').val("");
    if($('#inputStation').val() ==""){
        $('.spanIcons').removeClass('glyphicon glyphicon-remove');
    }
});
$("#inputStation").keyup(function(){
    if($('#inputStation').val() !=""){
        $('.spanIcons').addClass('glyphicon glyphicon-remove');
    }
    if($('#inputStation').val() ==""){
        $('.spanIcons').removeClass('glyphicon glyphicon-remove');
    }
});

/**
 * 查询表单提交
 */
$("#dataSearch").on('click',function() {
    return groupQuery();
});


/**
 * 新增模态框显示
 */
$("#addModal").on('show.bs.modal', function() {
    $(this).find("input[type=text]").val("");
});

/**
 * 修改模态框显示
 */
// $("#updateModal").on('show.bs.modal', function() {
//     $(this).find("input[type=text]").val("");
//     var tableData = $("#message_table").bootstrapTable("getSelections")[0];
//     $("#updateTemplateId").val(tableData.templateId);
//     $("#updateContent").val(tableData.content);
// });

/**
 * 删除模态框显示
 */
$("#deleteModal").on('show.bs.modal', function() {
    // var name = $("#message_table").bootstrapTable('getSelections')[0].name,
    var html = '是否删除当前群组?';
    $(this).find('div.modal-body').empty().append(html);
});

/**
 * 新增表单提交
 */
$("#addGroup").on('click',function () {
    var obj = $("#addForm").validationEngine('validate', {
        promptPosition: "centerRight",
        scroll: false,
        autoPositionUpdate: true,
        validationEventTrigger:'blur',
        binded:true,
        autoHidePrompt: true,
        autoHideDelay: 3000,
        showOneMessage:true
    });
    if (!obj) {
        return false;
    };
    var data = {
        "groupName": $("#addGroupName").val(),
        "groupIntroduction": $("#addDesc").val(),
        "leaderUserId": $("#leaderUserId").val(),
        "longitude": $("#Lng").val(),
        "latitude": $("#Lat").val(),
        "address": $("#address").val(),
        "groupStyle": $("#addType").val()
    };
    operationGroup('add', objTostring(data));
    $('#addModal').modal('hide');
});

/**
 * 删除表单提交
 */
$('#deleteGroup').on('click', function () {
    var tableData = $("#group_table").bootstrapTable("getSelections")[0];
    var data = {
      'forumgroupId':   tableData.forumGroupId
    };
    operationGroup('delete', objTostring(data));
    $("#deleteModal").modal('hide');
});

// $("button[name=submit]").on('click',function() {
//     var type = $(this).data("type"),
//         $modal = $("#" + type + "Modal"),
//         // $inputs = $modal.find('input[type="text"]'),
//         // $selects = $modal.find('select'),
//
//
//         //$checkboxs = $(this).find('input[type="checkbox"]').prop('checked',true),
//         tableData = $("#message_table").bootstrapTable("getSelections")[0],
//         data = null,
//         $that = $(this);
//
//
//     // 模式选择,设置不同的data和url
//     if (type === 'delete') {
//         data = {
//             "templateId": tableData.templateId
//         };
//     } else if (type === 'add') {
//         // var obj = jQuery("#addForm").validationEngine('validate', {promptPosition : "centerRight", autoPositionUpdate : true});
//         // if(!obj){
//         //     return false;
//         // };
//         data = {
//             "content": $("#addContent").val(),
//             "userId": $("#addUserId").val() === '' ? null : $("#addUserId").val()
//         };
//     } else if (type ==='update') {
//         console.log(1)
//         data = {
//             "content": $("#updateContent").val(),
//             "templateId": $("#updateTemplateId").val() === '' ? null : $("#updateTemplateId").val()
//         };
//     };
//
//
//     $modal.modal('hide');
//     // 完成ajax后刷新表格数据
//     groupQuery(type, data).done(function() {
//         $("#group_table").bootstrapTable("refresh");
//         $("button[data-target='#updateModal'], button[data-target='#deleteModal']").attr("disabled", 'true');
//         $that.parents('.modal-content').find('form')[0].reset();
//     });
//
//     // 阻止表格冒泡事件
//     return false;
// });
